@charset "utf-8";

h1,h2,h3,h4,h5,h6 { font-family: Arial, Helvetica, sans-serif; }

h2
{
	font-size: 18px;
	color: #FFF;
}

body,td,th
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	color: #1e293b; /* Upgraded from clay brown to dark slate blue-gray for enhanced modern legibility */
}

h4
{
	font-size: 18px;
	color: rgb(0, 111, 122); /* Shifted from olive green to your primary brand teal */
	font-weight: normal;
}

#header
{
	width: 100%;
	height: 55px;
	margin: 0px;
	background-color: #0f172a; /* Rich, elegant deep navy blue backdrop */
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 5px;
}

/* ==========================================================================
   Modernized Top Bar Utility Search Style
   ========================================================================== */

#header {
    width: 100%;
    height: 55px;
    margin: 0px;
    background-color: #0f172a; /* Kept your deep slate navy backdrop */
    display: flex;
    align-items: center; /* Vertically aligns search bar perfectly */
}

.searchbar {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* ==========================================================================
   Ultra-Subtle Top Bar Search Style (Deep Navy Match)
   ========================================================================== */

/* ==========================================================================
   Consolidated Ultra-Subtle Top Bar Search (No Teal Overrides)
   ========================================================================== */

#tfheader {
    background-color: transparent !important; 
    float: right; 
    margin-top: 10px; /* Vertically balances the bar inside the header line */
    padding: 0 !important;
}

#tfnewsearch {
    display: flex;
    align-items: center;
    background: rgba(30, 41, 59, 0.5) !important; 
    border: 1px solid rgba(148, 163, 184, 0.2) !important; 
    border-radius: 50px !important; 
    padding: 0px 6px 0px 14px !important;
    height: 32px;
    box-sizing: border-box;
    transition: all 0.25s ease-in-out;
}

#tfnewsearch:focus-within {
    background: rgba(30, 41, 59, 0.9) !important;
    border-color: rgba(148, 163, 184, 0.5) !important; 
    box-shadow: none !important; 
}

.tftextinput {
    background: transparent !important;
    border: none !important;
    color: #cbd5e1 !important; 
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px !important;
    outline: none;
    width: 150px;
    padding: 0 10px 0 0 !important;
    margin: 0;
    height: 100%;
}

.tftextinput::placeholder {
    color: #64748b; 
    opacity: 1;
}

.tfbutton {
    background: transparent !important;
    border: none !important;
    color: #64748b !important; 
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px !important;
    margin: 0;
    height: 24px;
    width: 24px;
    border-radius: 50%;
    transition: color 0.2s;
}

.tfbutton:hover {
    color: #94a3b8 !important;
    background-color: transparent !important;
}

.tfclear {
    clear: both;
}
/*end search bar styles*/
#wrapper
{
	max-width: 86.7em;
	margin: 0 auto;
}

#logobar
{
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	background-color: #FFF;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	padding-top: 15px;
	padding-bottom: 15px;
	text-align: center;
	background-image: url(Images/logo-1000.png);
	background-repeat: no-repeat;
	height: 120px;
	background-position: center center;
}

.navbar
{
	padding-bottom: 0.8em;
	margin-top: 5px;
	margin-right: auto;
	margin-bottom: 2em;
	margin-left: auto;
	background-color: #334155; 
	border-bottom: 3px solid #1e293b;
	width: 100%;
	height: 3em;
}

.navbar ul
{
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	list-style-type: none;
	max-width: 62.5em;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-right: auto;
	margin-left: auto;
}

.navbar ul li
{
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	padding: 0px;
	flex: 1 1 auto;
	text-align: center;
	max-width: 62.5em;
}

.navbar ul li a
{
	max-width: 100%;
	width: 100%;
	height: 3.43em;
	font-family: Arial, Helvetica, sans-serif;
	text-decoration: none;
	color: #FFFFFF;
	line-height: 3.43em;
	font-size: 1.2em;
	text-align: center;
}

.navbar ul li a:hover 
{ 
	background-color: #543d32; /* Transitions to a balanced, subtle brown when a link is hovered */
	color: #ffffff;
}

.navbar .mobile_menu
{
	width: 32px;
	height: 32px;
	background: url(Images/icon_menu.svg) no-repeat 0 0;
	background-size: contain;
	margin-top: 5px;
	margin-left: 15px;
	margin-bottom: 0px;
	display: none;
}

.maincontent
{
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 72.5em;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

.maincontent .sermons
{
	display: flex;
	-webkit-flex-flow: column;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-flex: 0 2 auto;
	-ms-flex: 0 2 auto;
	flex: 0 2 auto;
	width: 100%;
	margin-right: 1em;
	margin-left: 1em;
}

.sermons p
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	line-height: 1.5em;
}

.maincontent .sermons div .img-wrap img
{
	margin-bottom: 0px;
	padding-bottom: 0px;
	display: block;
	width: 100%;
}

.maincontent .sermons div h2
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2em;
	line-height: 45px;
	color: #FFF;
	background-color: rgb(0, 111, 122); /* Unified Section Headers using Brand Teal */
	margin-top: -0px;
	padding-left: 1.2em;
	font-weight: normal;
	text-align: left;
}

.maincontent .list-group
{
	margin-bottom: 15px;
	padding-left: 0px;
	list-style-type: none;
}

.maincontent .list-group .list-group-item .media-player
{
	float: left !important;
	height: 48px;
	width: 48px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 0px;
	padding-bottom: 45px;
}

.maincontent .list-group .list-group-item .media-player
{
	padding-top: 15px;
	height: auto;
}

.maincontent .list-group .list-group-item.first
{
	border-top: none;
	padding-top: 0px;
	border-top-style: none;
	border-top-width: 0px;
	height: auto;
	padding-bottom: -15px;
}

.maincontent .list-group .list-group-item.first .media-player { padding-top: 0px; }

.maincontent .list-group .list-group-item
{
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
	padding-top: 0px;
	border-top: 1px solid #e2e8f0; /* Soft steel blue divider line */
	min-height: 90px;
	background-color: #FFF;
	display: block;
	margin-bottom: -1px;
}

.sermons .list-group .list-group-item .panel-title
{
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
	color: rgb(0, 111, 122); /* Shifted to brand teal */
	margin-bottom: 0px;
	text-align: left;
	padding-top: 15px;
	margin-top: 0px;
	padding-bottom: 0px;
	line-height: 1.1;
}

.sermons .list-group .list-group-item.first .panel-title { padding-top: 0px; }

.list-group-item .panel-title a
{
	text-decoration: none;
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
	color: rgb(0, 111, 122);
	letter-spacing: 1px;
	list-style-type: none;
}

.list-group-item .panel-title a:hover { text-decoration: underline; color: #2563eb; } /* Elegant active blue focus hover */

.maincontent .sermons .list-group .list-group-item p
{
	margin-top: 0px;
	padding-top: 0px;
	font-size: 14px;
}

.maincontent .events
{
	display: flex;
	-webkit-flex-flow: column;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-flex: 0 2 auto;
	-ms-flex: 0 2 auto;
	flex: 0 2 auto;
	width: 100%;
	margin-right: 1em;
	margin-left: 1em;
}

.maincontent .events div .img-wrap img
{
	margin-bottom: 0px;
	padding-bottom: 0px;
	display: block;
	width: 100%;
}

.maincontent .events div h2
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2em;
	line-height: 45px;
	color: #FFF;
	background-color: rgb(0, 111, 122); /* Unified Section Headers using Brand Teal */
	margin-top: -0px;
	padding-left: 1.2em;
	font-weight: normal;
	text-align: left;
}

.maincontent .events .list-group
{
	padding-left: 0px;
	list-style-type: none;
}

.maincontent .events .list-group .list-group-item.first
{
	border-top: none;
	padding-top: 0px;
	border-top-style: none;
	margin-bottom: 0px;
	padding-bottom: -15px;
	height: auto;
}

.maincontent .events .list-group .list-group-item
{
	position: relative;
	padding-right: 10px;
	padding-left: 0px;
	padding-top: 0px;
	border-top: 1px solid #e2e8f0;
	background-color: #FFF;
	display: block;
}

.maincontent .events .list-group .list-group-item .cal-thumb-day
{
	float: left !important;
	height: 46px;
	width: 48px;
	margin-right: 10px;
	margin-top: 15px;
	overflow: hidden;
	background: #f1f5f9; /* Clean cool light blue-gray container */
	border-top-left-radius: 3px;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	background-clip: padding-box;
	border-radius: 3px;
	color: #94a3b8;
	margin-bottom: 0px;
}

.maincontent .events .list-group .list-group-item.first .cal-thumb-day
{
	margin-top: 0px;
	margin-bottom: 0px;
}

.maincontent .events .list-group .list-group-item .panel-title
{
	font-size: 85%;
	font-weight: normal;
	text-transform: uppercase;
	color: rgb(0, 111, 122);
	margin-bottom: 5px;
	text-align: left;
	padding-top: 0px;
	margin-top: 15px;
}

.maincontent .events .list-group .list-group-item.first .panel-title
{
	margin-top: 0px;
	padding-top: 0px;
}

.maincontent .events .list-group .list-group-item .cal-thumb-day .month
{
	text-transform: uppercase;
	font-size: 85%;
	text-align: center;
	background: #3b82f6; /* Beautiful responsive accent blue header block inside calendar calendar widget */
	color: #ffffff;
	box-sizing: border-box;
}

.maincontent .events .list-group .list-group-item .cal-thumb-day .day
{
	color: rgb(0, 111, 122); /* Clean callout via primary brand teal */
	text-align: center;
	font-size: 18px;
	box-sizing: border-box;
	padding-top: 4px;
}

.maincontent .events .list-group .list-group-item .panel-title a
{
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
	color: rgb(0, 111, 122);
	letter-spacing: 1px;
	list-style-type: none;
	text-decoration: none;
	text-align: left;
}

.maincontent .events .list-group .list-group-item .panel-title a:hover { text-decoration: underline; color: #2563eb; }

.maincontent .events .list-group .list-group-item .event-time
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	margin-top: 0px;
	margin-right: 0px;
	margin-left: 0px;
	text-align: left;
	color: #64748b; /* Soft secondary steel grey text color for time meta details */
}

.maincontent .visit
{
	display: flex;
	-webkit-flex-flow: column;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-flex: 0 2 auto;
	-ms-flex: 0 2 auto;
	flex: 0 2 auto;
	width: 100%;
	margin-right: 1em;
	margin-left: 1em;
}

.maincontent .visit .visit-list
{
	line-height: 22px;
	padding-top: 0px;
}

.maincontent .visit div .img-wrap img
{
	margin-bottom: 0px;
	padding-bottom: 0px;
	margin-right: 0px;
	padding-right: 0px;
	display: block;
	width: 100%;
}

.maincontent .visit div h2
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2em;
	line-height: 45px;
	color: #FFF;
	background-color: rgb(0, 111, 122); /* Unified Section Headers using Brand Teal */
	margin-top: -0px;
	padding-left: 1.2em;
	font-weight: normal;
	text-align: left;
}

.maincontent .visit .visit-list .panel-title
{
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
	color: rgb(0, 111, 122);
	margin-bottom: 5px;
	text-align: left;
	text-decoration: none;
	padding-top: 0px;
	line-height: 14px;
}

.visit a
{
	text-decoration: none;
	color: rgb(0, 111, 122);
}

.visit-list a:hover .panel-title
{
	text-decoration: underline;
	color: #2563eb;
}

.sidebar-nav .nav-title a { }

/* --- Footer Container and Layout Base --- */
.footer {
    background-color: #f8fafc; /* Crisp, ice-tinted off-white background modern hue */
    border-top: 4px solid #43281c; /* Solid statement top border anchoring your signature brown */
    padding: 40px 0;
    font-family: Arial, Helvetica, sans-serif;
    clear: both;
    width: 100%;
}

.footercontent {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* --- Columns Typography and Lists --- */
.footercontent article {
    flex: 1;
    min-width: 240px; 
    margin-bottom: 30px;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 15px;
    line-height: 1.6em;
    color: #43281c; /* Deliberately retained signature brown style profile details */
}

.footercontent article:last-child {
    padding-right: 0;
}

.footercontent h5 {
    font-size: 16px;
    font-weight: bold;
    color: #43281c; /* Deliberately retained brown accent heading styling */
    margin: 0 0 15px 0;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footercontent h5.midweek-title {
    margin-top: 25px;
}

.footercontent ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footercontent ul li {
    margin-bottom: 8px;
}

/* --- Anchor Links and vcard Structuring --- */
.footercontent a {
    color: rgb(0, 111, 122); /* Instantly links footer links cleanly into Brand Teal */
    text-decoration: none;
    transition: color 0.2s ease;
}

.footercontent a:hover {
    color: #2563eb; /* Vibrant royal blue hover reaction profile */
}

/* Address Link styling */
.footercontent .address a.adr {
    color: #43281c;
    display: block;
    margin-bottom: 10px;
}
.footercontent .address a.adr:hover {
    color: rgb(0, 111, 122);
}

.footercontent .contact-details {
    margin-top: 12px;
}

.footercontent .email {
    color: rgb(0, 111, 122);
    font-weight: bold;
}

/* --- Schedule Content Elements --- */
.footercontent p.schedule-item,
.footercontent p.schedule-detail {
    margin: 0 0 6px 0;
}
.footercontent p.schedule-meta {
    margin: 0 0 4px 0;
    font-style: italic;
    color: #64748b;
}
.footercontent p.schedule-detail {
    font-size: 14px;
    line-height: 1.4em;
    padding-left: 8px;
    border-left: 2px solid #cbd5e1;
    margin-bottom: 10px;
}
/* Tighten up the schedule spacing */
ul.tight-schedule {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.tight-schedule li {
    margin-bottom: 4px; 
    line-height: 1.4em;
}

ul.tight-schedule li.meta-line {
    margin-bottom: 6px;
    font-style: italic;
    color: #64748b;
}

ul.tight-schedule li.indent-line {
    font-size: 14px;
    padding-left: 10px;
    border-left: 2px solid #cbd5e1;
    margin-bottom: 6px;
}

/* ==========================================================================
   Responsive Viewport Modifications
   ========================================================================== */

/* Tablet & Mobile Layout Adjustment */
@media screen and (max-width: 767px) {
    .footer {
        padding: 30px 0 10px 0;
    }
    .footercontent {
        flex-direction: column; 
        padding: 0 20px;
    }
    .footercontent article {
        width: 100%;
        padding-right: 0;
        margin-bottom: 35px;
    }
}

/*Media Queries begin here*/

@media screen and (min-width: 768px) and (max-width: 1103px)
{
	.maincontent { padding-top: 1em; }
	
	#logobar
	{
		background-image: url(Images/logo-800.png);
		background-repeat: no-repeat;
		display: flex;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		background-color: #FFF;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		text-align: center;
		width: 100%;
	}
	
	.footer .footercontent { padding-left: 15px; }
	.list-group { width: 100%; }
}

@media screen and (min-width:695px) and (max-width:767px)
{
	.maincontent
	{
		display: flex;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		height: auto;
		margin-right: auto;
		margin-left: auto;
		width: 50%;
	}
	
	#logobar
	{
		background-image: url(Images/logo-120h-for-1000.png);
		background-repeat: no-repeat;
		display: flex;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		background-color: #FFF;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		text-align: center;
		width: 100%;
	}
	
	.list-group { width: 100%; }
	.footer .footercontent .address { margin-right: 2em; }
	.footer .footercontent .about { margin-right: 2em; }
	.footer .footercontent .resources { margin-right: 2em; }
}

@media screen and (min-width:575px) and (max-width:694px)
{
	.maincontent
	{
		display: flex;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		height: auto;
		margin-right: auto;
		margin-left: auto;
		width: 60%;
	}
	
	#logobar
	{
		width: 100%;
		background-image: url(Images/logo-695.png);
		background-repeat: no-repeat;
		display: flex;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		background-color: #FFF;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		text-align: center;
		padding-left: 1em;
		padding-right: 1em;
		padding-top: 15px;
		padding-bottom: 15px;
		background-position: center center;
		height: 70px;
	}
	
	.list-group { width: 100%; }
	
	.maincontent .sermons .list-group .list-group-item
	{
		height: auto;
		padding-bottom: 0px;
		margin-bottom: 0px;
	}
	
	.maincontent .sermons .list-group .list-group-item.first
	{
		height: auto;
		padding-bottom: -15px;
		margin-bottom: 0px;
	}
	
	.maincontent .events .list-group .list-group-item
	{
		height: auto;
		padding-bottom: 0px;
		margin-bottom: 0px;
	}
	
	.maincontent .events .list-group .list-group-item.first
	{
		height: auto;
		padding-bottom: -15px;
		margin-bottom: 0px;
	}
	
	.footer
	{
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		height: auto;
	}
	
	.footer .footercontent
	{
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		padding-right: 5px;
		padding-left: 5px;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .address { margin-right: 0em; }
	.footer .footercontent .about { margin-right: 0em; }
	.footer .footercontent .resources { margin-right: 0em; }
	
	.footer .footercontent .address
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .about ul li
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .resources ul li
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .services
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.about h5
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.resources h5
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
}

@media screen and (min-width:450px) and (max-width:574px)
{
	#logobar
	{
		width: 100%;
		background-image: url(Images/logo-500.png);
		background-repeat: no-repeat;
		display: flex;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		background-color: #FFF;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		text-align: center;
		padding-bottom: 15px;
		padding-top: 15px;
		height: 60px;
	}
	
	.navbar
	{
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		text-align: left;
		margin-right: auto;
		margin-left: auto;
		padding-left: 0px;
		background-color: #334155; /* Synced mobile container background to Slate Charcoal */
		width: 100%;
		height: auto;
	}
	
	.navbar ul
	{
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		margin-left: auto;
		margin-right: auto;
		width: auto;
		height: 0px;
		overflow: hidden;
		text-align: left;
	}
	
	.navbar ul li
	{
		text-align: left;
		width: 100%;
	}
	
	.navbar ul li:hover
	{
		width: 100%;
		text-align: left;
	}
	
	.navbar ul li a
	{
		color: #FFFFFF;
		display: block;
		text-align: left;
		margin: 0px 0px;
		padding: 0px 0px 0px 5px;
		border-bottom: 1px solid #1e293b;
		width: auto;
	}
	
	.navbar ul li a:hover
	{
		color: #FFFFFF;
		display: block;
		text-align: left;
		margin: 0px 0px;
		padding: 0px 0px 0px 5px;
		border-bottom: 1px solid #1e293b;
		background-color: #543d32; /* Synced with subtle brown accent hover selection */
		width: 100%;
	}
	
	.navbar .mobile_menu { display: block; }
	
	.maincontent
	{
		display: flex;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		height: auto;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .sermons .list-group
	{
		width: 100%;
		height: auto;
		margin-right: auto;
		margin-left: auto;
	}
	
	.maincontent .events .list-group
	{
		width: 100%;
		height: auto;
		margin-right: auto;
		margin-left: auto;
	}
	
	.visit-list
	{
		width: 100%;
		height: auto;
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}
	
	.maincontent .visit .visit-list .panel-title
	{
		width: 100%;
		height: auto;
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}
	
	.img-wrap
	{
		display: none;
		width: 100%;
		margin-right: auto;
		margin-left: auto;
	}
	
	.maincontent .sermons div h2
	{
		font-size: 1.2em;
		line-height: 40px;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .events div h2
	{
		font-size: 1.2em;
		line-height: 40px;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .visit div h2
	{
		font-size: 1.2em;
		line-height: 40px;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .sermons .list-group .list-group-item
	{
		height: auto;
		padding-bottom: 0px;
		margin-bottom: 0px;
	}
	
	.maincontent .sermons .list-group .list-group-item.first
	{
		height: auto;
		padding-bottom: -15px;
		margin-bottom: 0px;
	}
	
	.maincontent .events .list-group .list-group-item
	{
		height: auto;
		padding-bottom: 0px;
		margin-bottom: 0px;
	}
	
	.maincontent .events .list-group .list-group-item.first
	{
		height: auto;
		padding-bottom: -15px;
		margin-bottom: 0px;
	}
	
	.footer
	{
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		height: auto;
		text-align: center;
	}
	
	.footer .footercontent
	{
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		padding-right: 5px;
		padding-left: 5px;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .address { margin-right: 0em; }
	.footer .footercontent .about { margin-right: 0em; }
	.footer .footercontent .resources { margin-right: 0em; }
	
	.footer .footercontent .address
	{
		text-align: center;
		margin-left: auto;
		width: 100%;
		height: auto;
		margin-right: 0em;
	}
	
	.footer .footercontent .about ul li
	{
		text-align: center;
		margin-left: auto;
		width: 100%;
		height: auto;
		margin-right: 0em;
	}
	
	.footer .footercontent .resources ul li
	{
		text-align: center;
		margin-left: auto;
		width: 100%;
		height: auto;
		margin-right: 0em;
	}
	
	.footer .footercontent .services
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.about h5
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.resources h5
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
}

@media screen and (min-width:300px) and (max-width:449px)
{
	#logobar
	{
		width: 100%;
		background-image: url(Images/logo-450.png);
		background-repeat: no-repeat;
		padding-top: 15px;
		padding-bottom: 15px;
		height: 45px;
	}
	
	.navbar
	{
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		text-align: left;
		margin-right: auto;
		margin-left: auto;
		padding-left: 0px;
		background-color: #334155; /* Synced mobile menu background to Slate Charcoal */
		width: 100%;
		height: auto;
	}
	
	.navbar ul
	{
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		margin-left: auto;
		margin-right: auto;
		width: auto;
		height: 0px;
		overflow: hidden;
		text-align: left;
	}
	
	.navbar ul li
	{
		text-align: left;
		width: 100%;
	}
	
	.navbar ul li:hover
	{
		width: 100%;
		text-align: left;
	}
	
	.navbar ul li a
	{
		color: #FFFFFF;
		display: block;
		text-align: left;
		margin: 0px 0px;
		padding: 0px 0px 0px 5px;
		border-bottom: 1px solid #1e293b;
		width: auto;
	}
	
	.navbar ul li a:hover
	{
		color: #FFFFFF;
		display: block;
		text-align: left;
		margin: 0px 0px;
		padding: 0px 0px 0px 5px;
		border-bottom: 1px solid #1e293b;
		background-color: #543d32; /* Synced with subtle brown accent hover selection */
		width: 100%;
	}
	
	.navbar .mobile_menu { display: block; }
	
	.maincontent
	{
		display: flex;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		height: auto;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.img-wrap {
        display: block; /* Changes it from hidden to visible */
        width: 100%;
        margin-bottom: 15px;
    }
    .img-wrap img {
        width: 100%;
        height: auto;
        display: block;
    }
	
	.list-group { width: 100%; }
	
	.maincontent .sermons div h2
	{
		font-family: Arial, Helvetica, sans-serif;
		font-size: 1.2em;
		line-height: 40px;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .sermons div { width: 100%; }
	
	.maincontent .events div h2
	{
		font-family: Arial, Helvetica, sans-serif;
		font-size: 1.2em;
		line-height: 40px;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .events div { width: 100%; }
	
	.maincontent .visit div h2
	{
		font-family: Arial, Helvetica, sans-serif;
		font-size: 1.2em;
		line-height: 40px;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .visit div { width: 100%; }
	
	.maincontent .sermons
	{
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .events
	{
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .visit
	{
		margin-right: auto;
		margin-left: auto;
		width: 100%;
	}
	
	.maincontent .sermons .list-group .list-group-item
	{
		height: auto;
		padding-bottom: 0px;
		margin-bottom: 0px;
	}
	
	.maincontent .sermons .list-group .list-group-item.first
	{
		height: auto;
		padding-bottom: -15px;
		margin-bottom: 0px;
	}
	
	.maincontent .events .list-group .list-group-item
	{
		height: auto;
		padding-bottom: 0px;
		margin-bottom: 0px;
	}
	
	.maincontent .events .list-group .list-group-item.first
	{
		height: auto;
		padding-bottom: -15px;
		margin-bottom: 0px;
	}
	
	.footer
	{
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		height: auto;
		text-align: center;
	}
	
	.footer .footercontent
	{
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		padding-right: 5px;
		padding-left: 5px;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .address { margin-right: 0em; }
	.footer .footercontent .about { margin-right: 0em; }
	.footer .footercontent .resources { margin-right: 0em; }
	
	.footer .footercontent .address
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .about ul li
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .resources ul li
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.footer .footercontent .services
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.about h5
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
	
	.resources h5
	{
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		height: auto;
	}
}

.active-page-color
{
	color: #2563eb; /* Accessible active blue color accent anchor */
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	padding-top: 0px;
	text-decoration: none;
	list-style-type: none;
}

.mainsermons .content .sidebar-wrapper .sidebar-nav .sidebar-nav-list .active-page-color a
{
	font-family: Arial, Helvetica, sans-serif;
	color: rgb(0, 111, 122); /* Active navigation item text aligned to brand teal */
	text-decoration: none;
	list-style-type: none;
}

.mainsermons .content .sidebar-wrapper .sidebar-nav .sidebar-nav-list .active-page-color a::before
{
	content: ">";
	color: #64748b;
	font-size: 14px;
	display: inline-block;
	line-height: 1.5;
	margin: 5px 5px 0 0;
}

.mainsermons .content .sidebar-wrapper .sidebar-nav .sidebar-nav-list .active-page-color a
{
	text-decoration: none;
	font-size: 16px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 0px;
	display: block;
	margin-top: 15px;
}

.mainsermons .content .sidebar-wrapper .sidebar-nav .sidebar-nav-list .active-page-color a:hover { color: #2563eb; }
.highlight-word { color: rgb(0, 111, 122); }

.mainsermons .content .sermons ul li
{
	text-decoration: none;
	list-style-type: none;
	font-size: 16px;
	color: #1e293b;
	font-weight: bold;
}

.mainsermons .header-support span h1-smaller { font-size: 30px; }

.articleauthor
{
	font-weight: normal;
	font-size: 14px;
	color: #64748b;
}

articletitle
{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;
	color: rgb(0, 111, 122);
	text-decoration: none;
	list-style-type: none;
}

.mainsermons .content .sermons ul li a
{
	text-decoration: none;
	list-style-type: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	color: #1e293b;
}

/* Sidebar Refinements */
.sidebar-nav-list
{
	list-style: none;
	padding: 0;
	margin: 0;
}

.accordion-item { border-bottom: 1px solid #e2e8f0; }

.accordion-header
{
	cursor: pointer;
	padding: 12px 0;
	font-weight: bold;
	text-transform: uppercase;
	color: #64748b;
	font-size: 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: color 0.3s ease;
}

.accordion-header:hover
{
	color: rgb(0, 111, 122); /* Focus transition shift straight to Brand Teal */
}

/* The Scrollable Sidebar List */
.sidebar-scroll-list
{
	max-height: 300px;
	overflow-y: auto;
	background-color: #f8fafc; /* Coordinated slate background tint */
	padding-left: 0;
	margin-bottom: 10px;
	border-radius: 4px;
}

/* Modern Scrollbar for the sidebar */
.sidebar-scroll-list::-webkit-scrollbar { width: 6px; }

.sidebar-scroll-list::-webkit-scrollbar-thumb
{
	background: #cbd5e1;
	border-radius: 10px;
}

/* ==========================================================================
   About Page Layout Compatibility Patch
   ========================================================================== */

/* Maps .mainsermons to behave identically to your verified .maincontent layout */
.mainsermons {
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 72.5em;
    height: auto;
    margin: 20px auto;
}

/* Connects the About main article layout structurally into the flex grid */
.sermons-about {
    display: flex;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 100%;
    margin-right: 1em;
    margin-left: 1em;
}

/* Format paragraph body content for reading comfort */
.sermons-about p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1.6em;
    color: #1e293b;
}

/* Ensure strong headings stand out within the narrative layout */
.sermons-about strong {
    display: inline-block;
    font-size: 20px;
    color: rgb(0, 111, 122);
    margin-top: 15px;
    margin-bottom: 5px;
}

/* Clean handling of the images so they behave beautifully on all screens */
.img-about-church1, 
.img-about-church2 {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    margin-bottom: 20px;
    display: block;
}

/* Simple viewport rule to hide the secondary image layout on desktop screens */
@media screen and (min-width: 768px) {
    .img-about-church2 {
        display: none;
    }
}

/* Adaptive layout stacking for mobile screens */
@media screen and (max-width: 767px) {
    .mainsermons {
        flex-direction: column;
        padding: 0 15px;
    }
    .sidebar-wrapper {
        width: 100%;
        margin-bottom: 30px;
    }
    .img-about-church1 {
        display: none;
    }
    .img-about-church2 {
        display: block;
    }
}

/* --- ABOUT US PAGE PATCH --- */


/* -- New Footer Css -- */
/* Footer Container */
.footer {
    padding: 40px 20px;
}

/* Flex layout handles columns on desktop */
.footercontent {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
}

/* Individual columns share equal sizing rules */
.address, .footer-meta {
    flex: 1;
}

/* Formats the links and schedule note block */
.footer-meta {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.footer h5 {
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer a {
    text-decoration: none;
}

.footer a:hover {
    text-decoration: underline;

}

.footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer ul li {
    margin-bottom: 8px;
}

/* Responsive Rule: Shifts to 1 column on tablet/mobile screens */
@media screen and (max-width: 768px) {
    .footercontent {
        flex-direction: column;
        gap: 30px;
    }
}
